package com.xdb.sqlparser.dialect.oracle.ast.statement;

import com.xdb.sqlparser.ast.SQLExpr;
import com.xdb.sqlparser.ast.SQLName;
import com.xdb.sqlparser.dialect.oracle.visitor.OracleASTVisitor;

public class OracleCreateSequenceStatement extends OracleStatementImpl {

	private SQLName name;

	private SQLExpr startWith;
	private SQLExpr incrementBy;
	private SQLExpr minValue;
	private SQLExpr maxValue;
	private boolean noMaxValue;
	private boolean noMinValue;

	private Boolean cycle;
	private Boolean cache;
	private Boolean order;

	@Override
	public void accept0(OracleASTVisitor visitor) {
		if (visitor.visit(this)) {
			acceptChild(visitor, name);
			acceptChild(visitor, startWith);
			acceptChild(visitor, incrementBy);
			acceptChild(visitor, minValue);
			acceptChild(visitor, maxValue);
		}
		visitor.endVisit(this);
	}

	public SQLName getName() {
		return name;
	}

	public void setName(SQLName name) {
		this.name = name;
	}

	public SQLExpr getStartWith() {
		return startWith;
	}

	public void setStartWith(SQLExpr startWith) {
		this.startWith = startWith;
	}

	public SQLExpr getIncrementBy() {
		return incrementBy;
	}

	public void setIncrementBy(SQLExpr incrementBy) {
		this.incrementBy = incrementBy;
	}

	public SQLExpr getMaxValue() {
		return maxValue;
	}

	public void setMaxValue(SQLExpr maxValue) {
		this.maxValue = maxValue;
	}

	public Boolean getCycle() {
		return cycle;
	}

	public void setCycle(Boolean cycle) {
		this.cycle = cycle;
	}

	public Boolean getCache() {
		return cache;
	}

	public void setCache(Boolean cache) {
		this.cache = cache;
	}

	public Boolean getOrder() {
		return order;
	}

	public void setOrder(Boolean order) {
		this.order = order;
	}

	public SQLExpr getMinValue() {
		return minValue;
	}

	public void setMinValue(SQLExpr minValue) {
		this.minValue = minValue;
	}

	public boolean isNoMaxValue() {
		return noMaxValue;
	}

	public void setNoMaxValue(boolean noMaxValue) {
		this.noMaxValue = noMaxValue;
	}

	public boolean isNoMinValue() {
		return noMinValue;
	}

	public void setNoMinValue(boolean noMinValue) {
		this.noMinValue = noMinValue;
	}

}
